In a GPS system for measuring the location of a mobile unit-using satellites (GPS satellites), a GPS receiver has a basic function of receiving signals from four or more GPS satellites, calculating the location of the receiver on the basis of the received signals, and informing the user of the location.
The GPS receiver demodulates the signals from the GPS satellites to capture orbital data of the GPS satellites and then derives the three-dimensional location of the present receiver from the orbits of the GPS satellites, time information, and delay time of the received signals by means of simultaneous equations. The reason why the four GPS satellites from which signals are obtained are needed is that there is an error between time in the GPS receiver and time in each satellite and the signals are used in order to eliminate the effect of the error.
A civilian GPS receiver receives spread spectrum signal waves called C/A (Clear and Acquisition) codes on the L1 band from GPS satellites (Navstar) to perform the positioning operation.
The C/A code is a signal, of which carrier wave (hereinbelow, referred to as a carrier) having a frequency of 1575.42 MHz is subjected to BPSK (Binary Phase Shift Keying) modulation with a signal obtained by spreading 50-bps data with a PN (Pseudorandom Noise) sequence code such as a Gold code having a transmission signal rate (chip rate) of 1.023 MHz and a code length of 1023. In this case, since the code length is 1023, as shown in (A) of FIG. 21, the C/A code serving as the PN sequence code repeats on condition that 1023 chips correspond to one period (therefore, one period=one millisecond).
The GPS satellites use different PN sequence codes as the C/A codes. The GPS receiver can previously distinguish the kinds of PN sequence codes used by the respective GPS satellites from each other. The GPS receiver also determines that a signal transmitted from each GPS satellite can be received on a predetermined location at predetermined time using a navigation message, which will be described later. Accordingly, for example, in the three-dimensional positioning, the GPS receiver receives radio waves from four or more GPS satellites which can be acquired on that location at that time and then performs spectrum despreading and the positioning operation to obtain its own location.
As shown in (B) of FIG. 21, one bit of satellite signal data is transmitted every 20 periods of the PN sequence code, namely, 20 milliseconds. That is, the data transmission rate is 50 bps. A code pattern of 1023 chips corresponding to one period of the PN sequence in a case where a bit indicates “1” is opposite to that in a case where a bit indicates “0”.
As shown in (C) of FIG. 21, in the GPS, one word is composed of 30 bits (600 milliseconds). As shown in (D) of FIG. 21, one subframe (six seconds) is composed of 10 words. As shown in (E) of FIG. 21, preamble is disposed at the head word of one subframe, the preamble serving as a bit pattern which is always fixed even when data is updated. Data is transmitted subsequent to the preamble.
Further, one frame (30 seconds) is composed of five subframes. The navigation message is transmitted every one frame serving as a data unit. Information called ephemeris information peculiar to satellites is composed of three former subframes of the one-frame data. This information includes parameters to obtain the orbit of the satellite and transmission time of a signal from the satellite.
Each GSP satellite has an atomic clock and uses common time information. The transmission time of a signal from the GSP satellite is measured in seconds of the atomic clock. The PN sequence code of the GPS satellite is generated on condition that the code is synchronized with the atomic clock.
Orbital information of the ephemeris information is updated every several hours. The same orbital information is used until the information is updated. However, when the orbital information of the ephemeris information is stored in a memory of the GPS receiver, the same orbital information can be used accurately for several hours. The transmission time of a signal from each GSP satellite is updated every second.
The navigation message composed of the latter two subframes of the one-frame data denotes information called almanac information which is transmitted from all the satellites in common. The almanac information needs 25 frames to obtain all information. The almanac information comprises approximate positional information of the GPS satellites and information indicating which GPS satellite can be used. The almanac information is updated every several months. The same almanac information is used until the information is updated. However, when the almanac information is stored in a memory of the GPS receiver, the same information can be used accurately for several months.
In order to receive the GPS satellite signal and then obtain the above-mentioned data, the carrier is first removed. After that, using the same PN sequence code (hereinbelow, the PN sequence code will be referred to as a PN code) as that of the C/A code used in the GPS satellite to be received, the same PN code being prepared in the GPS receiver, the phase of the signal from the GPS satellite is synchronized with the phase of the C/A code to capture the signal from the GPS satellite. Then, the captured signal is spectrum-despread. After the phase synchronization with the C/A code is acquired and the despreading is performed, bits are detected. Thus, the navigation message including time information and the like can be obtained from the signal from the GPS satellite.
The signal from the GPS satellite is acquired by searching the phase synchronization with the C/A code. In searching the phase synchronization, the correlation between the PN code of the GPS receiver and the PN code of a received signal from the GPS satellite is detected. For example, when a correlation value of the correlation detection result is larger than a predetermined value, it is determined that both of the codes are synchronized with each other. If it is determined that they are not synchronized with each other, the phase of the PN code of the GPS receiver is controlled using any synchronizing method so as to be synchronized with the PN code of the received signal.
As mentioned above, the GPS satellite signal is a signal, of which carrier is subjected to BPSK modulation with a signal obtained by spreading data with a spread code. Accordingly, in order to allow the GPS receiver to receive the GPS satellite signal, it is necessary to acquire only spread-code synchronization but also carrier synchronization and data synchronization with the GPS satellite signal. However, the spread-code synchronization and the carrier synchronization cannot be separately performed.
In the GPS receiver, generally, the carrier frequency of the received signal is converted into an intermediate frequency of several MHz and the above-mentioned synchronization detecting process is performed using the intermediate frequency. The carrier in the intermediate-frequency signal includes a frequency error caused by Doppler shift corresponding to the moving speed of the GPS satellite and a frequency error of a local oscillator, the error being caused in the GPS receiver when the received signal is converted into an intermediate-frequency signal.
Therefore, the carrier frequency of the intermediate-frequency signal is unknown due to these frequency errors. It is necessary to search the carrier frequency. Since a synchronization point (synchronized phase) in one period of the spread code depends on the positional relationship between the GPS receiver and the GPS satellite, the synchronization point is also unknown. As mentioned above, any synchronizing method is needed.
In conventional GPS receivers, frequency search with respect to carriers and a synchronizing method using a sliding correlator+DLL (Delay Locked Loop)+Costas loop are used. This method will now be described hereinbelow.
Serving as a clock to drive a PN code generator in a GPS receiver, a clock having a frequency obtained by dividing the frequency of a reference frequency oscillator prepared in the GPS receiver is generally used. A high-precision quartz oscillator is used serving as the reference frequency oscillator. On the basis of an output of the reference frequency oscillator, a local oscillation signal used to convert a received signal from a GPS satellite into an intermediate-frequency signal is generated.
FIG. 22 is a diagram explaining the frequency search. That is, when the frequency of a clock signal to drive the PN code generator of the GPS receiver is set to a frequency f1, phase synchronization search with respect to the PN code is performed. In other words, the phase of the PN code is sequentially shifted chip by chip. The correlation between the GPS received signal and the PN code at each chip phase is detected to detect the peak correlation value. Thus, the phase at which synchronization can be acquired is detected.
In the case where the frequency of the clock signal is set to f1, if there is no phase for synchronization in searching all the phases of 1023 chips, for example, a frequency dividing rate for the reference frequency oscillator is varied to change the frequency of the driving clock signal to a frequency f2. Then, phases of 1023 chips are similarly searched. As shown in FIG. 22, the above operation is repeated while the frequency of the driving clock signal is being changed stepwise. The above-mentioned operation is the frequency search.
When the frequency of the driving clock signal at which the synchronization can be realized is detected by the frequency search, the final phase synchronization between the PN codes is performed at the clock frequency. Thus, even when there is oscillation frequency drift in the quartz frequency oscillator, satellite signals can be captured.
However, in principle, the above-mentioned conventional method serving as the synchronizing method is not suitable for high-speed synchronization. In actual receivers, in order to compensate the method, it is necessary to realize multi-channel formation and search for a synchronization point in parallel. As mentioned above, the spread-code synchronization and the carrier synchronization require long time, resulting in slow response of the GPS receiver. Disadvantageously, it is inconvenient in actual use.
For the phase synchronization for the spread codes, the improvement of the capability of hardware represented by DSP (Digital Signal Processor) realizes a method for high-speed code synchronization using a digital matched filter utilizing fast Fourier transform (hereinbelow, referred to as FFT (Fast Fourier Transform)) process without using the above-mentioned method using the sliding correlation.
However, the use of the digital matched filter needs to synchronize with the carrier of the received signal to cancel carrier components. Hitherto, in order to cancel the carrier components, information regarding a carrier frequency is derived from others through, for example, a radio network. On the basis of the information, the oscillation frequency of a variable frequency oscillator is controlled. Then, in a time domain prior to the FFT, the received signal is multiplied by the oscillation output of the variable frequency oscillator, thus canceling the carrier components.
Accordingly, in addition to a multiplier for converting a signal into an intermediate-frequency signal, another multiplier is needed. Disadvantageously, the construction for synchronization with the received signal is complicated.
In consideration of the above disadvantages, it is an object of the present invention to provide a method whereby spread-code acquisition and carrier acquisition with a spread spectrum signal such as a GPS satellite signal can be performed at high speed using FFT with a relatively simple construction, and an apparatus utilizing the method.